#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
void change(int* arr,int sz)
{
	int* p = arr;
	int* q = arr + sz - 1;
	while (p < q)
	{
		if ((*p) % 2 == 1 && (*q) % 2 == 0)
		{
			p++;
			q--;
			continue;
		}
		if ((*p) % 2 == 0 && (*q) % 2 == 1)
		{
			*p = *p ^ *q;
			*q = *p ^ *q;
			*p = *p ^ *q;
			p++;
			q--;
			continue;
		}
		if ((*p) % 2 == 1 && (*q) % 2 == 1)
		{
			p++;
			continue;
		}
		if ((*p) % 2 == 0 && (*q) % 2 == 0)
		{
			q--;
			continue;
		}
	}
}
int main()
{
	int arr[20] = { 1,35,4,5,2,6,7,8,1,5,1,2,6,4,8,7,9,45,64,10 };
	change(arr, sizeof(arr) / sizeof(arr[0]));
	int i = 0;
	for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
		printf("%d ", arr[i]);
	return 0;
}
//#include <assert.h>
//char* my_strcpy(char* p, const char* q)
//{
//	assert(p != NULL && q != NULL);
//	char* value = p;
//	while (*(p++) = *(q++));
//	return value;
//}
//int main()
//{
//	char string[50] = "";
//	char string1[] = "abcdefg";
//	my_strcpy(string, string1);
//	printf("%s", string);
//	return 0;
//}
////int my_strlen(const char* p)
//{
//	assert(p != NULL);
//	char* const q = p;
//	while (*(++p));
//	return p - q;
//}
//int main()
//{
//	char arr[10] = "";
//	scanf("%s", &arr);
//	printf("%d", my_strlen(arr));
//	return 0;
//}